package com.walnut.lom_system.service;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.walnut.lom_system.domain.entity.UserInfo;
import com.baomidou.mybatisplus.extension.service.IService;
import com.walnut.lom_system.domain.form.UserInfoForm;
import com.walnut.lom_system.domain.form.UserInfoSearchForm;
import com.walnut.lom_system.domain.vo.UserInfoVo;
import org.springframework.web.multipart.MultipartFile;

/**
* @author chenhetao
* @description 针对表【user_info(记录每个用户的用户信息)】的数据库操作Service
* @createDate 2022-03-08 18:07:10
*/
public interface UserInfoService extends IService<UserInfo> {
    /**
     * 用户信息导入
     * @param multipartFile
     * @return
     */
    boolean importUserInfo(MultipartFile multipartFile);

    /**
     *
     * @param userInfoForm
     * @return
     */
    UserInfoVo getUser(UserInfoForm userInfoForm);

    /**
     * 通过用户id获取用户
     * @param id 用户id
     * @return 用户视图
     */
    UserInfoVo getUserById(long id);

    /**
     * 按条件分页查询 用户
     * @param userInfoSearchForm 条件及分页条件
     * @return 用户数据
     */
    Page<UserInfoVo> getList(UserInfoSearchForm userInfoSearchForm);

    /**
     * 删除用户
     * @param id 用户id
     * @return 操作结果
     */
    int deleteUser(long id);

    /**
     * 更新用户
     * @param id 用户id
     * @param userInfoForm 更新数据
     * @return 更新结果
     */
    int updateUser(long id, UserInfoForm userInfoForm);
}
